From 5e706c59522169f72e5fb650c134eb8cb63ff690 Mon Sep 17 00:00:00 2001 From: "cl349@firebug.cl.cam.ac.uk[cl349]" Date: Sat, 2 Apr 2005 21:35:56 +0000 Subject: [PATCH] bitkeeper revision 1.1236.1.203 (424f103csqM47DQqPr-LyRTrjpJC4g) Merge 2.0-testing change: From: YAMAMOTO Takashi Add support to domain0 builder to load a (Net)BSD symtab for domain0. Signed-off-by: Christian Limpach --- xen/arch/x86/domain_build.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c index 5e8c8a509a..d896df6ad7 100644 --- a/xen/arch/x86/domain_build.c +++ b/xen/arch/x86/domain_build.c @@ -129,6 +129,9 @@ int construct_dom0(struct domain *d, if ( rc != 0 ) return rc; + if (dsi.load_bsd_symtab) + loadelfsymtab(image_start, 0, &dsi); + /* Align load address to 4MB boundary. */ dsi.v_start &= ~((1UL<<22)-1); @@ -139,7 +142,7 @@ int construct_dom0(struct domain *d, * read-only). We have a pair of simultaneous equations in two unknowns, * which we solve by exhaustive search. */ - vinitrd_start = round_pgup(dsi.v_kernend); + vinitrd_start = round_pgup(dsi.v_end); vinitrd_end = vinitrd_start + initrd_len; vphysmap_start = round_pgup(vinitrd_end); vphysmap_end = vphysmap_start + (nr_pages * sizeof(u32)); @@ -422,6 +425,10 @@ int construct_dom0(struct domain *d, /* Copy the OS image and free temporary buffer. */ (void)loadelfimage(image_start); + + if (dsi.load_bsd_symtab) + loadelfsymtab(image_start, 1, &dsi); + init_domheap_pages( _image_start, (_image_start+image_len+PAGE_SIZE-1) & PAGE_MASK); -- 2.30.2